package com.xuecheng.api.system;

import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.api.content.model.vo.TeachplanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api(tags = "课程基本信息服务接口", description = "对课程基本信息业务操作")
public interface TeachplanApi {

    @ApiOperation(value = "新增或修改课程计划")
    @ApiImplicitParam(name = "teachplanVO", value = "课程计划VO", required = true, dataType = "TeachplanVO", paramType = "body")
    TeachplanDTO createOrModifyTeachPlan(TeachplanVO vo);

    @ApiOperation(value = "删除课程计划")
    @ApiImplicitParam(name = "teachPlanId",
            value = "课程计划Id值", required = true,
            dataType = "Long", paramType = "path", example = "1")
    void removeTeachPlan(Long teachPlanId);

    @ApiOperation(value = "根据课程Id查询课程计划树形结构（树形结构为三级目录）")
    @ApiImplicitParam(name = "courseId" , value = "课程Id值",required = true,dataType = "Long", paramType = "path", example = "1")
    TeachplanDTO queryTreeNodesByCourseId(Long courseId);
}
